using System;

namespace Legend.Web
{
    /// <summary>
    /// Provides options for the parsing-process of QueryStrings.
    /// </summary>
    [Flags]
    public enum ParseOptions
    { 
        /// <summary>
        /// No parse options are set, the default behaviour is used.
        /// </summary>
        None = 0,
      
        /// <summary>
        /// When set only encrypted query strings will be parsed, an
        /// attempt to parse a non encrypted query string will result
        /// in an exception.
        /// </summary>
        ParseEncryptedOnly = 1,

        /// <summary>
        /// When set parameters that are not part of the query string will
        /// not generate an error, however they are not parsed or treated
        /// in any way, just ignored.
        /// </summary>
        AllowAdditionalParameters = 2,

        /// <summary>
        /// When set the query string will have to contain all the parameters
        /// available in the QueryString, event those with default values and
        /// empty values.
        /// </summary>
        RequireAllParameters = 4
    }
}